package sort;

/**
 * @author dx
 * @version 1.0
 * @date 2022/3/22 21:38
 * @description: 给定两个字符串s和t，编写一个函数来判断t是否是s的字母异位词
 * 异位词：若s和t中每个字符出现的次数都相同，则称s和t互为字母异位词
 */
public class Yiweici {

    public boolean isAnagram(String s, String t){

        if (s.length() != t.length())
            return false;

        int table [] = new int[26];
        for(int i = 0;i<s.length();i++){
            table[s.charAt(i) - 'a']++;
        }
        for(int i = 0;i<t.length();i++){
            table[t.charAt(i) - 'a']--;
            if(table[t.charAt(i) - 'a']<0)         //字符的个数都是相等的，如果t中某个字符比s中该字符出现的频率低，
                return false;                      // 那么也必定有其他某字符t中大于s的频率，所以只判断小于0即可，如果不相等必定会有一个是小于0的
        }
        return true;

    }

}
